package com.blithe.wgt.utils;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 日期处理工具类
 *
 * @author blithe
 *         create at 2017/12/1 0001 16:37
 */
public class DateUtils {
    private static String defaultDatePattern = null;
    private static String timePattern = "HH:mm";
    private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    private static SimpleDateFormat sdf1 = new SimpleDateFormat("HH:mm:ss");
    private static SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    /**
     * 获得服务器当前日期及时间，以格式为：yyyy-MM-dd HH:mm:ss的日期字符串形式返回
     *
     * @param date 日期
     */
    public static String dateToDateTimeStr(Date date) {
        try {
            return sdf2.format(date);
        } catch (Exception e) {

            return "";
        }
    }

    /**
     * 获得服务器当前日期，以格式为：yyyy-MM-dd的日期字符串形式返回
     *
     * @param date 日期
     */
    public static String dateToDateStr(Date date) {
        try {
            return sdf.format(date);
        } catch (Exception e) {
            return "";
        }
    }

    /**
     * 获得服务器当前时间，以格式为：HH:mm:ss的日期字符串形式返回
     *
     * @param date 日期
     */
    public static String dateToTimeStr(Date date) {
        String temp = "";
        try {
            temp += sdf1.format(date);
            return temp;
        } catch (Exception e) {

            return "";
        }
    }

    /**
     * 时间转化为字符串
     *
     * @param date   日期
     * @param format 时间格式
     * @return
     */
    public static String dateToString(Date date, String format) {
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        String temp = "";
        try {
            temp += sdf.format(date);
            return temp;
        } catch (Exception e) {
            return "";
        }
    }

    public static Date String2Date(String date, String format){
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        try {
            return sdf.parse(date);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return null;
    }
}